1. Field of the Invention
The present disclosure is directed generally to network service providers and, more particularly, to systems and methods for delivering media content to client computing devices.
2. Description of the Related Art
Streaming online content while connected to a network is a popular method of delivering requested media content from networked servers for consumption by a requestor. A familiar problem with streaming online content is that the network connecting the server and a receiver may have transient fluctuations in its ability to deliver the content, resulting in interruptions in the playback (or “playout”) session. Various methods have been proposed to mitigate this issue including content compression to reduce the delivery rate, dynamic real-time encoding to reduce the delivery rate/playback-quality to match the network capability, and pre-buffering a short segment of the content before allowing playback to start and thereafter filling the buffer faster than the content can be played out until the end of the playback session. This last streaming method has become known as progressive download (or “PD”), and the technique is intended to build up a safety margin in order to be able to maintain continuous playback during brief intervals when the server is unable to maintain the delivery rate to the receiver over the network. However, pre-buffering a short segment of the content before allowing playback to start on a user's device requires the user to wait for the segment to download before playback begins.
While designed to reduce and to avoid interruptions, progressive download is not immune to network impairments that persist long enough to empty a buffer on a system receiving the content. In those cases, the playback session is forced to halt until the buffer can again be re-filled and the session recommences. It is therefore a common experience that existing progressive download techniques often fail to provide a continuous playback session depending on the capabilities of the network.
When distributing audio or video content across networks, pre-delivering content to end user devices provides a better user experience than on-demand deliver (e.g., streaming, progressive download, etc.). Pre-delivery of the content removes the pauses, stuttering, and connection timeouts associated with on-demand delivery. However, conventionally users need to plan ahead when they wish to consume pre-delivered content to allow enough time for the content to be delivered to their devices prior to consumption.